package com.prd.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 投入记录
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-11-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WorkInputRecordDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 工时
     */
    @ApiModelProperty("工时")
    private Integer workHours;

    /**
     * 人员数
     */
    @ApiModelProperty("人员数")
    private Integer personNum;

    /**
     * 经济投入
     */
    @ApiModelProperty("经济投入")
    private BigDecimal moneyInput;

    /**
     * 物品投入
     */
    @ApiModelProperty("物品投入")
    private String goodsInput;

    /**
     * 资源投入
     */
    @ApiModelProperty("资源投入")
    private String sourceInput;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 凭证
     */
    @ApiModelProperty("凭证")
    private List<String> evidence;

    /**
     * 记录类型0-预算投入1-实际投入2-差异
     */
    @ApiModelProperty("记录类型0-预算投入1-实际投入2-差异")
    private Integer type;

    /**
     * 所属模块
     */
    @ApiModelProperty("所属模块")
    private String module;

    /**
     * 工作单id
     */
    @ApiModelProperty("工作单id")
    private Long workOrderId;

    /**
     * 工作联络单id
     */
    @ApiModelProperty("工作联络单id")
    private Long workContactFormId;

    /**
     * 工作报告id
     */
    @ApiModelProperty("工作报告id")
    private Long workReportId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createdTime;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createdBy;

    /**
     * 创建人id
     */
    @ApiModelProperty("创建人id")
    private Long createdById;


}
